var isInsert =$("#isInsert").val();
//作用：显示操作状态
function StatusMsg(mString){
	StatusBar.innerText=mString;
}

//作用：载入iWebOffice
function Load(){
	try{
		var ShowToolBar = $("#ShowToolBar").val();
		var ShowMenu = $("#ShowMenu").val();
		var EditType = $("#EditType").val();
		var FileType = $("#FileType").val();
		var mFileName = $("#mFileName").val();
		var RecordID=  $("#RecordID").val();
		var mServerUrl=  $("#mServerUrl").val();
		var mUserName=  $("#mUserName").val();
		//alert(ShowToolBar+"\n"+ShowMenu+"\n"+EditType+"\n"+FileType+"\n"+mFileName+"\n"+RecordID+"\n"+mServerUrl+"\n"+mUserName);
		//以下属性必须设置，实始化iWebOffice
		webform.WebOffice.WebUrl=mServerUrl;    //WebUrl:系统服务器路径，与服务器文件交互操作，如保存、打开文档，重要文件
		webform.WebOffice.RecordID=RecordID;   //RecordID:本文档记录编号
		webform.WebOffice.Template=RecordID;   //Template:模板编号
		webform.WebOffice.FileName=mFileName;   //FileName:文档名称
		webform.WebOffice.FileType=FileType;   //FileType:文档类型  .doc  .xls  .wps
		webform.WebOffice.EditType=EditType;   //EditType:编辑类型  方式一、方式二  <参考技术文档>
		webform.WebOffice.UserName=mUserName;   //UserName:操作用户名
		
		//以下属性可以不要
		webform.WebOffice.ShowMenu=ShowMenu;  //ShowMenu:1 显示菜单  0 隐藏菜单
		webform.WebOffice.ShowToolBar=ShowToolBar;//工具栏 1显示0不显示    
		webform.WebOffice.AppendMenu("1","打开本地文件(&L)");
		webform.WebOffice.AppendMenu("2","保存本地文件(&S)");
		webform.WebOffice.AppendMenu("3","-");
		webform.WebOffice.AppendMenu("4","保存并退出(&E)");
		webform.WebOffice.AppendMenu("5","-");
		webform.WebOffice.AppendMenu("6","打印文档(&P)");
		webform.WebOffice.DisableMenu("宏;选项;帮助");  //禁止菜单
		webform.WebOffice.WebOpen();  	//打开该文档    交互OfficeServer的OPTION="LOADTEMPLATE"	 	
		StatusMsg(webform.WebOffice.Status);
	}catch(e){
	}
	var flag = $("#flag").val();
	if(flag.substr(0,1)==0){
		WebProtect(true);
		WebEnableCopy(false);
	}
}

//作用：退出iWebOffice
function UnLoad(){
	try{
		if (!webform.WebOffice.WebClose()){
			StatusMsg(webform.WebOffice.Status);
		}else{
			StatusMsg("关闭文档...");
		}
	}catch(e){
	}
}

//作用：打开文档
function LoadDocument(){
	StatusMsg("正在打开文档...");
	alert(webform.WebOffice.Status);
	alert(webform.WebOffice.WebLoadTemplate());
	if (!webform.WebOffice.WebLoadTemplate()){  //交互OfficeServer的OPTION="LOADTEMPLATE"
		StatusMsg(webform.WebOffice.Status);
	}else{
		StatusMsg(webform.WebOffice.Status);
	}
}

//作用：保存文档  保存/更新arc_document_file到数据库
function SaveDocument(){
	if (!webform.WebOffice.WebSave()){    //交互OfficeServer的OPTION="SAVEFILE"  注：WebSave()是保存复合格式文件，包括OFFICE内容和手写批注文档；如只保存成OFFICE文档格式，那么就设WebSave(true)
		StatusMsg(webform.WebOffice.Status);
		return false;
	}else{
		StatusMsg(webform.WebOffice.Status);
		return true;
	}
}

//作用：填充模板
function LoadBookmarks(){
	StatusMsg("正在填充模扳...");
	alert(webform.WebOffice.Status);
	if (!webform.WebOffice.WebLoadBookmarks()){    //交互OfficeServer的OPTION="LOADBOOKMARKS"
		StatusMsg(webform.WebOffice.Status);
	}else{
		StatusMsg(webform.WebOffice.Status);
	}
}

//作用：设置书签值  vbmName:标签名称，vbmValue:标签值   标签名称注意大小写
function SetBookmarks(vbmName,vbmValue){
	webform.WebOffice.WebSetBookmarks(vbmName,vbmValue);
}

//作用：根据标签名称获取标签值  vbmName:标签名称
function GetBookmarks(vbmName){
	var vbmValue;
	vbmValue=webform.WebOffice.WebGetBookmarks(vbmName);
	return vbmValue;
}

//作用：打印文档
function WebOpenPrint(){
	var perPrintNum,alreadyPrintNum,residualPrintNum;
	try{
	// 	  调用示例：	var mReuslt=WebOffice.PrintByCopies(2);		//打印2份，无对话框
	// 	  var mReuslt=WebOffice.PrintByCopies(3,true);	// 打印3份，有对话框	
	//webform.WebOffice.PrintByCopies(1);
	//webform.WebOffice.PrintByCopies(3,true);
	//webform.WebOffice.WebOpenPrint();
	$.ajax({
		type: "post",
		url: '../../../biz/org/personnelMain!getDocPrintNumByPerId.action',
		async: false,
		dataType: 'text',
		success: function(data) {
			perPrintNum = data;
		}
	});
	$.ajax({
		type: "post",
		url: '../../../workflow/docPrint!findDocPrintByUser.action',
		data: 'entity.workId=' + $('#workId').val(),
		async: false,
		dataType: 'text',
		success: function(data) {
			alreadyPrintNum = data;
		}
	});
	if(parseInt(alreadyPrintNum)<parseInt(perPrintNum)){
		residualPrintNum = parseInt(perPrintNum)-parseInt(alreadyPrintNum);
		window.prompt = (function(prompt) {
			if (window.navigator.appName.toLowerCase().indexOf("microsoft")<0)
				return prompt;
			return function(msg) {
				window.vbs_var = null;
				execScript('window.vbs_var = InputBox(unEscape("'+escape(msg)+'"), "提示")', "VBScript");
				return window.vbs_var;
			};
		})(window.prompt);
		var toPrintNum = prompt("您的剩余打印份数为"+residualPrintNum+"，请输入打印份数！","");
		if(toPrintNum){
			var regex = "^[1-9]\\d*$";
			if(!(toPrintNum.match(regex))){
				alert("打印份数只能是整数！");
				return false;
			}
			if(parseInt(toPrintNum)>parseInt(residualPrintNum)){
				alert("打印份数不得超过剩余打印份数！");
				return false;
			}
			webform.WebOffice.Active(true);
			webform.WebOffice.PrintByCopies(toPrintNum,true);
			$.ajax({
				type: "post",
				url: '../../../workflow/docPrint!saveOrUpdate.action',
				data: 'entity.workId='+$('#workId').val()+'&entity.printNum='+toPrintNum,
				async: false,
				dataType: 'text',
				success: function(data) {
				}
			});
		}
	}else{
		webform.WebOffice.WebOpenPrint();
	}
	//StatusMsg(webform.WebOffice.Status);
	}catch(e){
		alert(e);
	}
}

//作用：页面设置
function WebOpenPageSetup(){
	try{
		if (webform.WebOffice.FileType==".doc"){
			webform.WebOffice.WebObject.Application.Dialogs(178).Show();
		}
		if(webform.WebOffice.FileType==".xls"){
			webform.WebOffice.WebObject.Application.Dialogs(7).Show();
		}
	}catch(e){

	}
}

//作用：标签管理
function WebOpenBookMarks(){
	try{
		webform.WebOffice.WebOpenBookmarks();    //交互OfficeServer的OPTION="LISTBOOKMARKS"
		StatusMsg(webform.WebOffice.Status);
	}catch(e){
	}
}

//作用：存为本地文件
function WebSaveLocal(){
	try{
		webform.WebOffice.WebSaveLocal();
		StatusMsg(webform.WebOffice.Status);
	}catch(e){
	}
}

//将文档保存到本地，但没有印章
function SaveLocalNoSign(){
	SetActiveDocument();
	alert(webform.SignatureAPI.UnLockDocument());
	if(ssSucceeded == webform.SignatureAPI.SaveToFileNoSignature()){
		alert("成功");
	}
	else{
		alert("失败");
	}
}

//作用：打开本地文件
function WebOpenLocal(){
	try{
		webform.WebOffice.WebOpenLocal();
		StatusMsg(webform.WebOffice.Status);
	}catch(e){
	}
}

//作用：签名印章
function WebOpenSignature(){
	//alert("如果你要签章,建议采用iSignature电子签章软件进行签章:\r\n下载地址http://www.goldgrid.com/iSignature/Download.asp\r\n该软件是支持CA证书和数字签名技术的,\r\n是通过了国家公安部认证的电子签章产品!");
	var flag = false;
	$.ajax({//fengjinshou 20160318 套红检测
 		type: "post",
 		url: ctxPath+'/jbpmService/document/isInsertByWorkId',
 		data: 'workId=' + $('#workId').val(),
 		async: false,
 		dataType: 'text',
		success: function(data) {
			if(0==data){
				alert("请先套红，再进行签章操作！");
				return;
			}else{								
				if(isInsert ==2){
					flag =confirm("已经签章，您确定还要进行签章操作吗?");
				}
				if(flag||isInsert!=2){
					try{
						//作用未知，会抛出异常、暂时注释
						//webform.WebOffice.WebObject.Application.Selection.GoTo(-1,0,0,"signature"); 
						if(webform.WebOffice.WebOpenSignature()){//交互OfficeServer的 A签章列表OPTION="LOADMARKLIST"    B签章调出OPTION="LOADMARKIMAGE"    C确定签章OPTION="SAVESIGNATURE"    <参考技术文档>
							WebSave();     //保存当前编辑的文档
							signDocByWorkId();
						}  	
						StatusMsg(webform.WebOffice.Status);
					}catch(e){
					   alert("还没有套红，套红之后才能盖章！");
					}
				}  
			}
		}	
	})
}

//作用：页面设置
function WebOpenPageSetup(){
	try{
		if (webform.WebOffice.FileType==".doc"){
			webform.WebOffice.WebObject.Application.Dialogs(178).Show();
		}
		if(webform.WebOffice.FileType==".xls"){
			webform.WebOffice.WebObject.Application.Dialogs(7).Show();
		}
	}catch(e){
		alert(e.description);
	}
}

//接受文档中全部痕迹
function WebAcceptAllRevisions(){
	webform.WebOffice.WebObject.Application.ActiveDocument.AcceptAllRevisions();
	var mCount = webform.WebOffice.WebObject.Application.ActiveDocument.Revisions.Count;
	if(mCount>0){
		return false;
	}else{
		return true;
	}
}

//作用：套用模版定稿
function WebInsertFile(){	
	var appId =  $("#appId").val();	
	var flag = false;
	if(isInsert !=0){
		flag =confirm("已经套红，您确定继续套红操作吗？");
	}
	if(flag||isInsert==0){		
		var selectvalue = $("#Template").val();
		SaveDocument();                                             //保存当前编辑的文档
		//webform.WebOffice.WebSetMsgByName("COMMAND","");  //设置变量COMMAND="INSERTFILE"，在WebLoadTemplate()时，一起提交到OfficeServer中     <参考技术文档>
		webform.WebOffice.Template=selectvalue;                //全局变量Template赋值，此示例读取服务器目录中模板，如读取数据库中模板，Template值为数据库中的模板编号，则上句代码不需要，如Template="1050560363767"，模板名称为“Word公文模板”，注：模板中有要标签Content，区分大小写，可以自行修改
		webform.WebOffice.EditType="1";                             //控制为不保留痕迹的状态
		if (webform.WebOffice.WebLoadTemplate()){                   //交互OfficeServer的OPTION="LOADTEMPLATE"
			$.ajax({
				type: "post",
				url: ctxPath+'/jbpmService/document/getMapOfBookMarksAndDataMarks',
				data: 'workId=' + $('#workId').val()+'&appId='+appId+'&mTemplate='+selectvalue,
				async: false,
				dataType: 'text',
				success: function(data) {
					var result = eval('('+data+')');
					var bookMarkArray = result.bookMarks;
					var dataMarkArray = result.dataMarks;
					for(var i=0;i<bookMarkArray.length;i++){	
						if(dataMarkArray[i]!=null){
							SetBookmarks(bookMarkArray[i],dataMarkArray[i]);
						}
					}
				}
			});			
			//var title = $("#Subject").val();
			//SetBookmarks("title",title);
			//SetBookmarks("signature"," ");
			if (webform.WebOffice.WebInsertFile()){                   //填充公文正文   交互OfficeServer的OPTION="INSERTFILE"
				StatusMsg("模板套红成功");
				//保存当前编辑的文档
				WebSave(); 
				//fengjinshou 20160109
				$.ajax({
					type: "post",
					url: ctxPath+'/jbpmService/document/insertDocByWorkId',
					data: 'workId=' + $('#workId').val(),
					async: false,
					dataType: 'text',
					success: function(data) {
						if('success'==data){
							isInsert=1;
						}
					}
				});
				return true;
			}else{
				StatusMsg(webform.WebOffice.Status);
				return false;
			}
		}else{
			StatusMsg(webform.WebOffice.Status);
			return false;
		}
	}	  
}

//作用：保存为HTML文档
function WebSaveAsHtml(){
	var RecordID = $("#RecordID").val();
	var comId =  $("#comId").val();	
	try{
		if (webform.WebOffice.WebSaveAsHtml()){  	//交互OfficeServer的OPTION="SAVEASHTML"        	
			//webform.HTMLPath.value="HTML/"+comId+"/"+RecordID+".htm";
			//  window.open("<%=mHttpUrl%>"+ webform.HTMLPath.value);
			webform.HTMLPath.value="HTML/"+comId+"/"+RecordID+".htm";
			var src=ctxPath+"/"+webform.HTMLPath.value+"?"+new Date().getTime();
			$('#docWordHtml',window.opener.document).show();
			reloadAndResetIFrame('docWordHtml',src);    	
		}
		StatusMsg(webform.WebOffice.Status);
	}catch(e){

	}
}

function WebSaveImage(){
	var RecordID = $("#RecordID").val();
	var comId =  $("#comId").val();
	try{
		if (webform.WebOffice.WebSaveImage()){  	//交互OfficeServer的OPTION="" 
			webform.HTMLPath.value="HTMLIMAGE/"+comId+"/"+RecordID+""+".htm";
			var src=ctxPath+"/"+webform.HTMLPath.value+"?"+new Date().getTime();
			$('#docWordHtml',window.opener.document).show();
		}
		StatusMsg(webform.WebOffice.Status);
		reloadAndResetIFrame('docWordHtml',src);
	}catch(e){
	
	}
}

function reloadAndResetIFrame(id,src){
	$('#'+id,window.opener.document).load(function(){
		var iframe = window.opener.document.getElementById(id);
		var UA = navigator.userAgent,
	            isIE = UA.indexOf('MSIE') > -1,
	           v = isIE ? /\d+/.exec(UA.split(';')[1]) : 'no ie';
	           var iframeDoc = null;
	           var iFrameHeight = 0;
		if(isIE&&v<8){
			iframeDoc = window.opener.document.frames[id].document; 
			iFrameHeight =iframeDoc.body.scrollHeight; 
		}else{
			if(iframe.contentDocument==null){
				iframeDoc = iframe.ownerDocument; 
				iFrameHeight=iframeDoc.height;
			}else{
				iframeDoc= iframe.contentDocument; 
				iFrameHeight =iframeDoc.body.scrollHeight; 
			}
		}
		/*
		var table = 	iframeDoc.getElementsByTagName('table');
		$(iframeDoc).find('body').removeAttr('bgcolor');
		$(iframeDoc).find('table').removeAttr('broder');
		$(iframeDoc).find('table').removeAttr('class');
		$(iframeDoc).find('table').removeAttr('bgcolor'); 
		*/
		iframe.height= iFrameHeight;
		});
	$('#'+id,window.opener.document).attr('src',src);
	//fengjinshou 20160112 刷新父页面iframe
	setTimeout(window.opener.document.getElementById(id).contentWindow.location.reload(),1000);
}

//作用：保护与解除  参数1为true表示保护文档  false表示解除保护
function WebProtect(value){
	try{
		webform.WebOffice.WebSetProtect(value,"");  //""表示密码为空
	}catch(e){
		alert(e.description);
	}
}	

//作用：允许与禁止拷贝功能  参数1为true表示允许拷贝  false表示禁止拷贝
function WebEnableCopy(value){
	try{
		webform.WebOffice.CopyType=value;
	}catch(e){
		alert(e.description);
	}
}

//zhangyong 201608 页面窗口自适应
$(window).resize(function() {
	$(".oa_list").height($(window).height()-50);
	$("#WebOffice").height($(".oa_list").height()-60);	
});

$(".oa_list").height($(window).height()-50);
$("#WebOffice").height($(".oa_list").height()-60);	
function WebSave(){
	//保存html文件图片到服务器
	//WebSaveImage();
	//WebSaveAsHtml();
	//保存arc_document_file到数据库
	SaveDocument();
	//保存/更新arc_document到数据库
	$("#webform").attr('method','post');

	
	$.ajax({
		type: "POST",
		url:ctxPath+"/jbpmService/document/save",
		data:$('#webform').serialize(),// 你的formid
		async: false,
		error: function(request) {
			alert("Connection error");
		},
		success: function(data) {
			alert(data);
		}
	});	
}

//fengjinshou 20160120 清除痕迹
function WebShow(){
	webform.WebOffice.WebShow(false);
	WebSave();
}
//fengjinshou 20160108 电子签章相关
/*
CreateSignature参数值列表
*/
var stSign = 0x00000001;     //电子签章
var stHand = 0x00000002;     //手写签名
var stGroup = 0x00000003;    //批量验证
var stBarCode = 0x00000005;  //二维条码
var Comments = 1;            //锁定批注
var FormFields = 2;          //锁定窗体
/*
SelectionState返回值列表
*/
var  ssFailed            = -1;        //未知状态
var  ssSucceeded         = 0x0000;     //成功
var  ssNoInstall         = 0x0001;     //电脑未正确安装电子签章软件！
var  ssNoActiveDocument  = 0x0002;     //不存在活动的文档或者未设置ActiveDocument！
var  ssDocumentLocked    = 0x0003;     //文档已经锁定
var  ssDocumentInObject  = 0x0004;     //光标置于对象之上，请处于编辑状态
var  ssDocumentInHFooter = 0x0005;     //光标在页眉面脚上，不能签章。
var  ssDocumentInTextbox = 0x0006;     //光标不能在文档框内签章
var  ssDocumentInEdit    = 0x0007;     //EXCEL不能在编译模式下进行签章。

//创建电子签章
function CreateSignature(id) {
	$.ajax({//fengjinshou 20160318 套红检测
 		type: "post",
 		url: ctxPath+'/jbpmService/document/isInsertByWorkId',
 		data: 'workId=' + $('#workId').val(),
 		async: false,
 		dataType: 'text',
		success: function(data) {
 			if(0==data){
				alert("请先套红，再进行签章操作！");
				return;
         	}else{
         		SetActiveDocument(); // 设置活动文档
        		if (id == 0) {
        			if (webform.SignatureAPI.SelectionState == ssSucceeded) //当前光标状态
        			{
        				//建立电子签章
        				if(webform.SignatureAPI.CreateSignature(stSign)){
        					WebSave();
        					signDocByWorkId();
        				}
        			}
        		}
        		if (id == 1) {
        			if (webform.SignatureAPI.SelectionState == ssSucceeded) {
        				//建立手写签名
        				if(webform.SignatureAPI.CreateSignature(stHand)){
        					WebSave();
        					signDocByWorkId();
        				}
        			}
        		}
        		if (id == 2) {
        			webform.SignatureAPI.DoAction(3, ""); //建立批量验证
        		}
        		if (id == 3) {
        			webform.SignatureAPI.DoAction(4, ""); //建立参数设置
        		}
        		if (id == 5) {
        			if (webform.SignatureAPI.SelectionState == ssSucceeded) {
        				webform.SignatureAPI.CreateSignature(stBarCode); //建立二维条码
        			}
        		}
            }
 		}
    })
}
//改变文档状态为已签章
function signDocByWorkId(){	
   	$.ajax({
 		type: "post",
 		url: ctxPath+'/jbpmService/document/signDocByWorkId',
 		data: 'workId=' + $('#workId').val(),
 		async: false,
 		dataType: 'text',
			success: function(data) {
 			if('fail'==data){
 				alert("签章状态保存失败，请删除签章后重新签章！");
 			}else{
	 	    	isInsert = 2;
	     	}
 		}
    })	
}

//设置活动文档对象
function SetActiveDocument() {
	if (webform.WebOffice.FileType == ".doc") {
		webform.SignatureAPI.ActiveDocument = webform.WebOffice.WebObject; //设置WORD对象
	}
	if (webform.WebOffice.FileType == ".xls") {
		webform.SignatureAPI.ActiveDocument = webform.WebOffice.WebObject.Application.ActiveWorkbook.ActiveSheet; //设置EXCEL对象
	}
}
